php artisan storage:link
// get() 屬於檔案系統的方法
Storeage::disk('s3')->get('file.jpg');
* 增加額外的 Flysystem 提供者, 可以到 provider 內設定, 使用 Storeage::extend() 方法
* 基本檔案操作
```php
// 使用者上傳檔案
Storage::put(
"product/{$product->id}",
file_get_content($request->file('productImg')->getRealPath())
);
// 檔案下載
public function downloadFile() {
return Storage::download('product_001.pdf');
}
```
// e.g. 設定儲存位置 driver
'driver' => env('SESSION_DRIVER', 'file'),
// 使用全域函數
session()->get('user_id');
// 使用 request 物件
$request->session()->get('user_id');
// 自行注入 session 類別
Route::get('user', funciton(Illuminate\Session\Store $session){
return $session->get('user_id');
});
// 將存取方法改為 put()
// 第一個參數為鍵, 第二個參數為值
session()->put('key', 'value');
// e.g. session 陣列處理
session()->put('array', [1,2,3]);
session()->push('array', 4);
// e.g. 檢查是否有該 session key 是否有值
session()->has('array');
// 其他方法可參考官網
// https://laravel.com/docs/9.x/session
// 靜態介面
Cache::get('user');
// 注入方式
public function getUser(Illuminate\Contracts\Cache\Respository $cache) {
return $cache->get('user');
});
// 全域方法
// Laravel 5.3 新增
// 第一個參數為 key 值, 第二個參數為預設值
$users = cache('key', 'default value');
// 更多 Cache 可以參考官網
// https://laravel.com/docs/9.x/cache#main-content
// 靜態介面
// 取得 cookie
Cookie::get($key);
// 檢查 cookie 是否存在
Cookie::has($key);
// 建立 Cookie
Cookie::make(...params);
// 回傳 cookie 實例
Cookie::make();
// 全域函示
// 呼叫後會回傳一個 CookieJar 實例, 此時並不包含 get() 與 has() 方法
cookie('user', '3', 30);
// 請求中取得 cookie
$request->cookie('user', '3');
// 回傳時設定 cookie
$cookie = cookie('user', '3');
return Response::view('user.show')
->cookie($cookie);
github 進版
剩下的天繼續...